package cn.wolfcode.rbac.mapper;

import cn.wolfcode.rbac.domain.Permission;
import cn.wolfcode.rbac.query.QueryObject;

import java.util.List;

public abstract interface PermissionMapper {
    //根据id查询指定的权限信息
    public abstract Permission get(Long id);
    //查询所有的权限信息
    public abstract List<Permission> selectAll();
    //删除指定的权限
    public abstract int delete(Long id);

    public int insert(Permission permission);

    public int update(Permission permission);

    //分页
    //查询所有权限的总条数（分页）
   // public abstract int selectForCount(QueryObject qo);
    //查询所有的权限信息（分页）
    public abstract List<Permission> selectForList(QueryObject qo);
    //根据角色的id查出对应所有的权限的名称
    public List<Permission> selectPermissionsByRoleID(Long id);
    //获取权限表中的权限表达式的值
    public abstract  List<String> selectAllExpression();
    //按照员工id查询员工信息，与权限相关联
    public abstract List<String> selectByEmpId(Long paramLong);

}
